/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package ai;

import ai.io.DataSource;
import ai.gui.ImageLabel;
import ai.gui.Image;
import java.util.Observer;
import java.util.Random;
import java.util.Vector;
import uk.ac.bath.util.Tweakable;

/**
 *
 * @author pjl
 */
public interface Brain {

    public void addImage(Image image);

    
    public void addObserver(Observer panel);

    public Image getImagination(int i);

    public int getImaginationCount();

    public String getName();

    public Random getRandom();

 
    public Vector<Tweakable> getTweaks();

    public void notifyObservers();

    public void fire(DataSource.Data data);

    public void getLatestResult(Result result);
    
    public void setTrain(DataSource.Data data);
    
    public void dump();
}
